;:sys36864 ;.opt o *= $9943 sto =2 get =$e124 puffer =820 start lda #neubef sta $308 sty $309 jsr $ffe7 lda #0 sta $3e sta $10 sta $37 sta $33 lda #>start sta $38 sta $34 lda 45 ldy 46 sta 47 sty 48 sta 49 sty 50 jsr $a81d ldx #$19 stx $16 lda #hi jmp $ab1e hi .byt 13 .byte "list 2000 installed" .byt 13,13 .byte "by nikolaus heusler" .byt 13 .byte " zwengauerweg 18" .byt 13 .byte " 8000 muenchen 71" .byt 13,13 .byte "enter '!' for setup" .byt 13,0 l1 .byte "list of " brk l2 .byte " .... $" brk bacs .byt 169,109,160,192,141,4,3 hext .byte "0123456789abcdef" ma .byt 1,1,1, 4, 5,1,1,0,1, 0, 39,0 mb .byt 2,2,2,10,10,2,2,2,2,10,100,2 am =12 ; anz menuepunkte col1 ="\x98" col2 ="\x9b" col3 ="\x05" df =4 ; data-flag rf =5 ; rem-flag nf =6 ; next-flag pos0 =181 ; ende der zeilennummer xmk =182 ; speicher bupo =247 ; pufferzeiger fone =248 ; for..next-zaehler ifth =249 ; if..then-zaehler quo =250 ; quote-modus buz =251 ; zeiger auf vor. pufferinhalt met .byt 13 .byte "\x93list 2000 setup" .byt 13 .byte "\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0\xc0" .byt 13 .byte "a - insert spaces" .byt 13 .byte "b - skip spaces" .byt 13 .byte "c - format linenumbers" .byt 13 .byte "d - indent for..next" .byt 13 .byte "e - indent if..then" .byt 13 .byte "f - rip colons" .byt 13 .byte "g - rip if..then" .byt 13 .byte "h - rip next" .byt 13 .byte "i - phantom headline" brk met2 .byt 13 .byte "j - left margin" .byt 13 .byte "k - right margin" .byt 13 .byte "l - color list" .byt 13 .byte "\x11[return] when done, [stop] to disable" .byt 13,0 jn .byte "ny" neubef jsr $73 cmp #$9b beq list cmp #"!" beq menu jsr 121 jmp $a7e7 menu jsr 115 jsr setup jmp $a7ae list jsr setsto jsr 115 cmp #34 bne nophan jmp phantom nophan jsr 121 bcc la4 beq la4 cmp #$ab beq la4 syn jmp $af08 la4 jsr $a96b jsr $a613 jsr 121 beq lbb cmp #$ab bne syn jsr 115 jsr $a96b bne syn lbb lda $14 ora $15 bne abb lda #-1 sta $14 sta $15 abb jsr ggf1 splist jsr init ldy #1 lda ($5f),y bne nend aus jmp $a7ae nend jsr $a82c iny lda ($5f),y tax iny lda ($5f),y cmp $15 bne le6 cpx $14 beq ok le6 bcs aus ok jsr number lda #4 clc adc $5f sta $5f bcc sploop inc $60 sploop ldy #0 lda ($5f),y bne data jsr crlf inc $5f bne splist inc $60 bne splist data jsr out inc $5f bne sploop inc $60 bne sploop phantom lda #123 jsr $e1cc jsr $e1d4 lda $ba cmp #1 beq notest cmp #8 bcs test ldx #9 .byt $2c miss ldx #8 .byt $2c notfound ldx #4 jmp $a437 test lda $b7 beq miss notest lda #0 sta $b9 lda #123 sta $b8 jsr $e1c1 ldx #123 jsr $e11e lda 144 bne notfound jsr $e124 ldx 144 bne notfound lda ma+8 bne titel jsr get jmp phaloop titel pha lda #l1 jsr strout lda #34 jsr print jsr namout lda #34 jsr print lda #l2 jsr strout jsr get jsr hex pla jsr hex jsr crlf jsr crlf jsr ggf1 phaloop jsr $a82c jsr get jsr get tax bne liston jsr $ffcc lda #123 jsr $e1cc jmp $a7ae liston jsr init jsr get tax jsr get jsr number listph jsr get tax beq endph jsr out jmp listph endph jsr crlf jmp phaloop setsto lda #0 sta fone sta bupo ldx #6 ldy #$a0 comp lda 49152,x cmp bacs,x bne aeae dex bpl comp lda #-1 ldy #$c2 .byt $2c aeae lda #$9e sta sto sty sto+1 lda ma+11 beq init lda #0 sta $d020 sta $d021 jsr ggf3 lda #1 sta 198 lda #col3 sta 631 init lda #0 sta $f sta rf sta df sta nf sta ifth sta quo rts number sta $62 stx $63 ldx ma+9 beq noma mar jsr space dex bne mar noma ldx #144 sec jsr $bc49 jsr $bddf ldx #-1 such0 inx lda $100,x bne such0 stx pos0 lda ma+2 beq nraus spa cpx #5 bcs nraus jsr space inx bne spa nraus jsr $bf0c jsr strout jsr space instfo lda fone clc adc ifth tax beq ret insert jsr space dex bne insert ret rts then jsr aber ldx ma+6 beq qconti jsr sprung lda ma+4 clc adc ifth sta ifth qconti jmp conti komma bit $f bmi qpi bit rf bmi qpi bit nf bpl qpi lda ma+7 beq ose jsr sprung ose jsr outsert lda #44 qpi jmp pi next jsr aber lda #-1 sta nf jsr outsert jmp conti outsert lda ma+3 beq rat lda fone beq rat sec sbc ma+3 sta fone lda #5 ldx ma+2 bne sti0 lda pos0 sti0 clc adc ma+9 tax clc adc ma+3 tay zieh lda puffer,y sta puffer,x inx iny cpy bupo bcc zieh stx bupo rat rts pin bit $f bmi qpi bit rf bmi qpi ldy #0 sty df sty nf jsr print lda ma+5 bne sprung rts sprung jsr crlf lda #5 ldx ma+2 bne stimmt0 lda pos0 stimmt0 clc adc ma+9 tax stim0 jsr space dex bpl stim0 jmp instfo for jsr aber lda ma+3 clc adc fone sta fone jmp conti uspace jmp qspace qkomma jmp komma qthen jmp then qnext jmp next out cmp #32 beq uspace cmp #58 beq pin cmp #44 beq qkomma cmp #128 bcc pi cmp #-1 beq pi bit $f bmi pi pha cmp #$a7 beq qthen cmp #$81 beq for cmp #$82 beq qnext conti ldy #-1 cmp #$8f bne norem sty rf norem cmp #$83 bne nodata sty df nodata pla sec sbc #$7f tax ldy #-1 jsr ggf2 l2c dex beq l37 l2f iny lda (sto),y bpl l2f bmi l2c l37 iny lda (sto),y bmi klr jsr print jmp l37 klr and #$7f jsr print jsr ggf1 lda ma beq nochr leer lda #32 pi jsr print cmp #34 bne nochr lda $f eor #-1 sta $f nochr lda rf and #1 beq ausd dec rf jsr ggf3 ausd rts qspace lda ma+1 beq leer bit $f bmi leer bit df bmi leer bit rf bmi leer rts aber bit rf bmi halt bit rf bmi halt rts halt pla pla jmp conti hex pha lsr lsr lsr lsr jsr hex2 pla hex2 and #15 tax lda hext,x .byt $2c space lda #32 print stx xmk ldx bupo sta puffer,x ldx xmk inc bupo rts ggf1 lda #col1 .byt $2c ggf2 lda #col2 .byt $2c ggf3 lda #col3 pha lda ma+11 beq bleibt pla bne print bleibt pla rts strout sta 34 sty 35 ldy #0 stou lda (34),y beq stend jsr print iny bne stou stend rts namout ldy #0 nout cpy $b7 bcs stend lda ($bb),y jsr print iny bne nout crlf lda bupo sta buz jsr ggf1 lda #13 jsr print ldx #-1 ldy #0 txtout inx cpx buz bne erlaubt lda ma+11 beq erlaubt lda #0 sta 212 erlaubt lda puffer,x jsr $ffd2 cmp #13 beq txtend cmp #34 bne nodv lda #-1 eor quo sta quo nodv iny cpy ma+10 bcc txtout jsr $aad7 lda #5 ldy ma+2 bne stimmt1 lda pos0 stimmt1 clc adc ma+9 adc fone adc ifth pha clc adc quo tay stim1 jsr $ab3f dey bpl stim1 lda quo beq fast lda #34 jsr $ffd2 fast pla tay iny bpl txtout txtend lda 653 lsr bcs txtend ldx #0 stx bupo rts setup lda #met jsr $ab1e lda #met2 jsr $ab1e parout jsr $e566 jsr $aad7 ldy #0 parlp jsr $aad7 lda #24 sta 211 lda ma,y ldx mb,y cpx #11 bcc eins tax tya pha lda #0 jsr $bdcd pla tay lda #32 bne malz eins cpx #3 bcs num tax lda jn,x .byt $2c num ora #48 malz jsr $ffd2 iny cpy #am bcc parlp getkey jsr 65508 cmp #13 beq ausstieg cmp #"a" bcc down cmp #"a"+am bcs down sbc #64 tax inc ma,x lda ma,x cmp mb,x bcc paraw lda #0 sta ma,x paraw lda ma+5 bne para2 sta ma+3 para2 lda ma+10 cmp ma+9 bcs parout lda ma+9 sta ma+10 jmp parout down cmp #"\x03" beq cancel cmp #"A" bcc getkey cmp #"A"+am bcs getkey sbc #192 tax dec ma,x bpl paraw lda mb,x sec sbc #1 sta ma,x bpl paraw cancel jsr 58451 ausstieg jsr $aad7 jsr $aad7 jmp $aad7